02 泛型编程
C++ 语言
全面兼容 C 语言,又巧妙揉合了一些面向对象的编程理念。
- 用引用解决指针的问题。
- 用 namespace 解决名字空间冲突的问题。
- 通过 try-catch 解决检查返回值编程的问题。
- 用 class 解决对象的创建、复制、销毁的问题,从而可以达到在结构体嵌套时可以深度复制的内存安全问题。
- 通过重载操作符来达到操作上的泛型。
- 通过模板 template 和虚函数的多态以及运行时识别来达到更高层次的泛型和多态。
- 用 RAII、智能指针的方式,解决 C 语言中释放资源的代码。
- 用 STL 解决 C 语言中算法和数据结构的坑。
C++ 泛型编程
算法应是和数据结构以及类型无关的。对于泛型的抽象,数据类型符合通用算法。
C++ 解决程序泛型问题的三个要点: